package com.zenithmind.disk.pojo.domain;


import com.zenithmind.common.base.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

@EqualsAndHashCode(callSuper = true)
@Data
@AllArgsConstructor
@NoArgsConstructor
@Schema(name = "存储用户文件信息实体", description = "存储用户文件信息实体")
public class Files extends BaseEntity {


    @Schema(description = "用户ID，关联users表")
    private String userId;


    @Schema(description = "父级文件夹ID，null表示根目录")
    private String parentId;


    @Schema(description = "文件名")
    private String fileName;


    @Schema(description = "文件类型，如txt、jpg等")
    private String fileType;


    @Schema(description = "文件大小，单位为字节")
    private Long fileSize;


    @Schema(description = "文件存储路径")
    private String filePath;


    @Schema(description = "是否为目录，0表示文件，1表示目录")
    private Integer isDirectory;


    @Schema(description = "文件的MD5值，用于校验文件完整性")
    private String fileMd5;


    @Schema(description = "文件状态，1正常，其他值表示已删除等")
    private Integer status;


}
